package com.gopay.common.domain.ic;

import com.gopay.common.domain.BaseEntity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/** 
 * 说明：内部对账日报明细表 实体类
 * 创建时间：2016-12-27
 */
@Entity
@Table(name = "ic_report_daily_dtl")
public class ReportDailyDtl extends BaseEntity {
	
	private Long keyId;			//主键

	private Long dailyKeyId;			//外键：内部对账日报主键

	private String checkDate;			//对账日期

	private String bizType;			//业务性质：01，流入；02，内转；03：流出

	private String tradeType;			//交易类型

	private BigDecimal settleAmt;			//结算金额

	private BigDecimal feeAmt;			//手续费金额

	private Long tradeNum;			//交易笔数

	private Date createdTs;			//创建时间

	private Integer version;			//乐观锁版本号

	private String type;//类型

	private Date lastUpdTs;//最后修改时间


	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ic_report_daily_dtl_seq")
	@SequenceGenerator(name = "ic_report_daily_dtl_seq", allocationSize = 1, initialValue = 1, sequenceName = "ic_report_daily_dtl_seq")
	@Column(name = "KEY_ID")
	public Long getKeyId() {
		return keyId;
	}

	public void setKeyId(Long keyId) {
		this.keyId = keyId;
	}

	@Column(name = "DAILY_KEY_ID")
	public Long getDailyKeyId() {
		return dailyKeyId;
	}

	public void setDailyKeyId(Long dailyKeyId) {
		this.dailyKeyId = dailyKeyId;
	}

	@Column(name = "CHECK_DATE")
	public String getCheckDate() {
		return checkDate;
	}

	public void setCheckDate(String checkDate) {
		this.checkDate = checkDate;
	}

	@Column(name = "BIZ_TYPE")
	public String getBizType() {
		return bizType;
	}

	public void setBizType(String bizType) {
		this.bizType = bizType;
	}

	@Column(name = "TRADE_TYPE")
	public String getTradeType() {
		return tradeType;
	}

	public void setTradeType(String tradeType) {
		this.tradeType = tradeType;
	}

	@Column(name = "SETTLE_AMT")
	public BigDecimal getSettleAmt() {
		return settleAmt;
	}

	public void setSettleAmt(BigDecimal settleAmt) {
		this.settleAmt = settleAmt;
	}

	@Column(name = "FEE_AMT")
	public BigDecimal getFeeAmt() {
		return feeAmt;
	}

	public void setFeeAmt(BigDecimal feeAmt) {
		this.feeAmt = feeAmt;
	}

	@Column(name = "TRADE_NUM")
	public Long getTradeNum() {
		return tradeNum;
	}

	public void setTradeNum(Long tradeNum) {
		this.tradeNum = tradeNum;
	}

	@Column(name = "CREATED_TS")
	public Date getCreatedTs() {
		return createdTs;
	}

	public void setCreatedTs(Date createdTs) {
		this.createdTs = createdTs;
	}

	@Version
	@Column(name = "VERSION")
	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	@Transient
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	@Column(name = "LAST_UPD_TS")
	public Date getLastUpdTs() {
		return lastUpdTs;
	}

	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}
}
